package com.zhoujian.creational;

/**
 * 饿汉式单例的实现
 * @author 周健
 * @creatTime 2023-09-04
 */
public class EagerSingleton {

    /**
     * 编写单例代码时注意以下四点：
     * 1.构造器需要私有化
     * 2.暴露一个公共获取单例对象的接口
     * 3.是否支持懒加载（延迟加载）
     * 4.是否线程安全
     */

    /**
     * 饿汉式单例的实现适用于绝大部分的场景
     * 但是饿汉式不支持    懒加载
     */

    //1.持有一个jvm全局唯一的实例
    private final static EagerSingleton instance = new EagerSingleton();

    //2.为了避免别人随意的创建，我们需要私有化构造器
    private EagerSingleton(){}

    //3.暴露一个方法，用来获取实例


    public static EagerSingleton getInstance() {
        return instance;
    }
}